package _220323;

import java.util.Scanner;

/**
 * @author ShadowLim
 * @create 2022-03-23-11:27
 */
public class 金币 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int k = scanner.nextInt();
        scanner.close();
        int group = 1;  // n天收到n个金币为一组 即 1(第一组) 2 2(第二组) 3 3 3(第三组) 4 4 4 4(第四组) ....
                        // 不足一组单独计算获得的金币
        int ans = 0;
        while (true) {
            long groupSum = (group + 1) * group / 2;    // 记录所有组加起来的天数 第一组1天 第二组2天 第三组3天 ....
            if (k - groupSum - 1 > group) { // k - groupSum > group + 1
                group++;    // 统计组数 每次得到一组 用K减去这些组的总天数 若剩余天数大于下一组(第group + 1组)的天数(group + 1天) 则group组数++
            } else {
                break;
            }
        }
        int remainDays = k - ((group + 1) * group / 2); // 不足一组的天数
        for (int i = 1; i <= group; i++) {
            ans += i * i;
        }
        ans += remainDays * (group + 1);
        System.out.println(ans);
    }
}
